package com.ep.general.instruktor;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;

public class Instruktor {

	@Expose
	private Integer id;
	@Expose
	private String imie;
	@Expose
	private String nazwisko;
	@Expose
	private String login;
	private String haslo;
	@Expose
	private String telefon;
	@Expose
	private String ulica;
	@Expose
	private String miasto;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getImie() {
		return imie;
	}

	public void setImie(String imie) {
		this.imie = imie;
	}

	public String getNazwisko() {
		return nazwisko;
	}

	public void setNazwisko(String nazwisko) {
		this.nazwisko = nazwisko;
	}

	public String getLogin() {
		return login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	public String getHaslo() {
		return haslo;
	}

	public void setHaslo(String haslo) {
		this.haslo = haslo;
	}

	public String getTelefon() {
		return telefon;
	}

	public void setTelefon(String telefon) {
		this.telefon = telefon;
	}

	public String getUlica() {
		return ulica;
	}

	public void setUlica(String ulica) {
		this.ulica = ulica;
	}

	public String getMiasto() {
		return miasto;
	}

	public void setMiasto(String miasto) {
		this.miasto = miasto;
	}

	public boolean compareAndCopy(Instruktor item) {
		boolean copy = false;

		if (item == null) {
			return copy;
		}

		if (!this.imie.equals(item.getImie())) {
			this.imie = item.getImie();
			copy = true;
		}

		if (!this.nazwisko.equals(item.getNazwisko())) {
			this.nazwisko = item.getNazwisko();
			copy = true;
		}

		if (!this.login.equals(item.getLogin())) {
			this.login = item.getLogin();
			copy = true;
		}

		if (!this.haslo.equals(item.getHaslo())) {
			this.haslo = item.getHaslo();
			copy = true;
		}

		if (!this.telefon.equals(item.getTelefon())) {
			this.telefon = item.getTelefon();
			copy = true;
		}

		if (!this.ulica.equals(item.getUlica())) {
			this.ulica = item.getUlica();
			copy = true;
		}

		if (!this.miasto.equals(item.getMiasto())) {
			this.miasto = item.getMiasto();
			copy = true;
		}

		return copy;
	}

	public String getAsJson() {
		GsonBuilder gsonBuilder = new GsonBuilder();
		gsonBuilder.excludeFieldsWithoutExposeAnnotation();
		Gson gson = gsonBuilder.create();

		return gson.toJson(this);
	}
}
